This disclosure relates generally to booting a computer system, and more specifically to providing CRTM for computer systems using a backup copy of BIOS.
Computer manufacturers have recently introduced computer systems that utilize a backup copy of BIOS firmware. In these systems, both the BIOS and backup copy of the BIOS run off a read-only memory (ROM) device such as a flash memory. One of the rationales for utilizing a backup copy of BIOS is to avoid using a boot block, which is a portion of logic in the ROM that runs first and is not updateable. The boot block logic will verify that the rest of the BIOS is intact via operations such as a checksum and hash before jumping to the rest of the BIOS. If the boot block logic determines that the main BIOS is fine, it then passes control to that main portion of BIOS for initiating the rest of the operations associated with the BIOS. As the boot block logic passes control to the main BIOS it also locks itself so that it cannot be unlocked until a reset occurs. Alternatively, if the boot block logic detects that the main BIOS is corrupt, then it will notify the user to boot through a boot media or bootable device. The boot block logic can then read a new BIOS image off the boot media or bootable device and update the BIOS.
An issue that arises with systems that utilize a backup copy of BIOS firmware is how to implement CRTM, which is logic developed by the Trusted Computing Group (TCG), successor to the Trusted Computing Platform Alliance (TCPA), which is an industry standard work group that has a common goal of trying to solve security problems that exist in the computing industry. CRTM is one solution that many computer manufacturers have implemented within the boot block logic. Typically, in operation, the CRTM logic gets control of the system at power on, does some initialization and then proceeds to make a series of measurements using a complex algorithm. The CRTM logic stores the measurements in a Trusted Platform Module (TPM) and then the boot block checks the BIOS. Eventually, the boot block logic passes control to the BIOS, which performs a power-on self test (POST), which is built-in diagnostic logic that checks hardware to ensure that everything is present and functioning properly. After the POST, the BIOS progresses through its booting sequence and passes control to the operating system (OS). The OS then verifies the trustworthiness of the system by comparing the measurements taken by the CRTM logic with previous measurements stored in the TPM. If the measurements match, the OS has assurance to trust the system. Alternatively, if the measurements do not match, the OS is alert to the possibility of a breach and has the option to take measures to reestablish trust.